package com.lier.gulimall.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lier.common.utils.PageUtils;
import com.lier.common.vo.Catalog2VO;
import com.lier.gulimall.product.entity.CategoryEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品三级分类
 *
 * @author lier
 * @email 664478853@qq.com
 * @date 2025-06-06 14:14:16
 */
public interface CategoryService extends IService<CategoryEntity> {

    PageUtils queryPage(Map<String, Object> params);

    List<CategoryEntity> listTree();

    void deleteBatchByIds(List<Long> list);

    List<Long> findCatelogPath(Long catelogId);

    void updateDetail(CategoryEntity category);


    /**
     * 查出所有1级分类
     */
    List<CategoryEntity> getLevel1Categorys();

    /**
     * 查询三级分类并封装成Map返回
     * 使用SpringCache注解方式简化缓存设置
     */
    Map<String, List<Catalog2VO>> getCatalogData();

    /**
     * 查询三级分类并封装成Map返回
     * 使用redis客户端实现缓存设置
     */
    Map<String, List<Catalog2VO>> getCatalogJson();
}

